package ai.platon.pulsar.browser.driver.chrome

import ai.platon.pulsar.browser.driver.chrome.common.ChromeOptions
import ai.platon.pulsar.browser.driver.chrome.common.LauncherOptions

abstract class ChromeLauncherApi(
     val options: LauncherOptions
) {
    abstract fun close();
    abstract fun destroyForcibly();

    /**
     * Launch the chrome
     * */
    abstract fun launch(options: ChromeOptions): RemoteChrome

    /**
     * Launch the chrome
     * */
    abstract fun launch(headless: Boolean): RemoteChrome

    /**
     * Launch the chrome
     * */
    abstract fun launch(): RemoteChrome
}